home *** CD-ROM | disk | FTP | other *** search
- Opt c-
- Section "DiskChecker",Code_c
-
- Start Movem.l d0-d7/a0-a6,-(sp)
- Bsr Initialize
- Lea Drive(pc),a6
- Move.w d0,(a6)
- Bsr SelectDrive
- Moveq #20,d0
- Bsr WaitRaster
- Bsr IncTrack
- Moveq #20,d0
- Bsr WaitRaster
- Bsr DecTrack
- Moveq #20,d0
- Bsr WaitRaster
- Btst #2,$Bfe001
- Bne DiskIn
- Moveq #-1,d0
- Bra DiskChecked
- DiskIn Moveq #0,d0
- DiskChecked Lea ErrorCode(pc),a6
- Move.l d0,(a6)
- Bsr DeSelectDrive
- Bsr RestoreSystem
- Movem.l (sp)+,d0-d7/a0-a6
- Move.l ErrorCode(pc),d0
- Rts
-
- Initialize Lea $Dff000,a6
- Lea AdkSav(pc),a0
- Move.w $10(a6),d1
- Move.w d1,(a0)
- Move.w #$7fff,$9e(a6)
- Move.w #$8100,$9e(a6)
- Rts
-
- SelectDrive Move.w Drive(pc),d1
- And.w #3,d1
- Add.b #3,d1
- Nop
- Nop
- Nop
- Bclr d1,$Bfd100
- Rts
-
- DeSelectDrive Move.w Drive(pc),d1
- And.w #3,d1
- Add.b #3,d1
- Nop
- Nop
- Nop
- Bset d1,$Bfd100
- Rts
-
- WaitDrive Move.w #20,d6
- WaitX Move.w #20,d0
- Bsr WaitRaster
- Btst #5,$Bfe001
- Beq NoWaitX
- Dbf d6,WaitX
- NoWaitX Rts
-
- WaitRaster Move.b $Dff006,d7
- WaitNextLine Cmp.b $Dff006,d7
- Beq WaitNextLine
- Dbf d0,WaitRaster
- Rts
-
- IncTrack Bclr #1,$Bfd100
- Bra DoTrack
-
- DecTrack Bset #1,$Bfd100
-
- DoTrack Move.w #1,d0
- Bsr WaitRaster
- Bclr #0,$Bfd100
- Move.w #1,d0
- Bsr WaitRaster
- Bset #0,$Bfd100
- Bsr WaitDrive
- Rts
-
- RestoreSystem Lea $Dff000,a6
- Move.w ADKsav(pc),d0
- Bset #15,d0
- Move.w d0,$9e(a6)
- Rts
-
- AdkSav Dc.w 0
- Drive Dc.w 0
- ErrorCode Dc.l 0
-
-
-
-
-
-
-
-